jQuery中的Ajax

在jQuery中使用Ajax

  • 在jQuery提供了一系列的方法来对Ajax进行操作

    • load()方法
    • $.get()方法
    • $.post()方法
    • ajax()方法
    • $.getScript()方法
    • $.getJSON()方法

load()方法

  • 参数

    • 第一个参数 - 表示异步交互的请求地址
    • 第二个参数 - 表示异步交互的请求数据

      • 省略请求数据时,当前的请求方式为 GET
      • 发送请求数据时,当前的请求方式为 POST
    • 第三个参数 - 表示异步交互请求成功后的回调函数
  • 该方法具有返回值

    • 服务器端的响应结果

注意

  • 会自动将返回结果写到HTML页面的指定目标元素中

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $btn.load( 'JSON.json', {name:'融念冰'}, function () {
            console.log( '三步白头' );
        } );
    } );
</script>
</body>

$.get()方法

  • 该方法的请求方式为 GET
  • 参数

    • 第一个参数 - 表示异步交互的请求地址
    • 第二个参数 - 表示异步交互的请求数据
    • 第三个参数 - 表示异步交互请求成功后的回调函数

      • response参数 - 表示获取当前的JSON文件内容
    • 第四个参数 - 表示设置服务器端响应结果的格式

      • xml、html、script、json、text等

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $.get( 'JSON.json', {name:'融念冰'}, function ( response ) {
            console.log( response );
        }, 'json' );
</script>
</body>

$.post()方法

  • 该方法的请求方式为 POST
  • 参数

    • 第一个参数 - 表示异步交互的请求地址
    • 第二个参数 - 表示异步交互的请求数据
    • 第三个参数 - 表示异步交互请求成功后的回调函数

      • response参数 - 表示获取当前的JSON文件内容
    • 第四个参数 - 表示设置服务器端响应结果的格式

      • xml、html、script、json、text等

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $.post( 'JSON.json', {name:'融念冰'}, function ( response ) {
            console.log( response );
        }, 'json' );
    } );
</script>
</body>

ajax()方法

  • 参数

    • 第一个参数 - 表示异步交互请求的地址
    • 第二个参数 - 表示设置异步交互请求的

      • 该参数的可选项
      • type - 设置当前的请求方式
      • data - 发送给服务器端的请求数据
      • dataType - 服务器端响应结果的格式
      • success - 异步交互请求成功后的回调函数

        • 回调函数的参数

          • data - 表示服务器端响应的结果
          • textStatus - 表示服务器端当前的状态
          • jqXHR - Ajax中的核心对象

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $.ajax( 'JSON.json', {
            type : 'get',
            dataType : 'text',
            success : function( data ) {
                console.log( data );
            }
        } );
    } );
</script>
</body>

$.getScript()方法

  • 该方法的请求方式为 GET
  • 参数

    • 第一个参数 - 表示请求JavaScript文件的地址
    • 第二个参数 - 指定JavaScript文件加载成功的回调函数

      • 该回调函数的参数
      • data - 表示获取指定文件的内容

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $.getScript( 'JS.js', function( data ) {
            console.log( data );
            eval( data );
        } );
    } );
</script>
</body>

$.getJSON()方法

  • 该方法的请求方式为 GET
  • 参数

    • 第一个参数 - 表示请求JavaScript文件的地址
    • 第二个参数 - 表示发送给服务器端的数据内容
    • 第三个参数 - 指定JavaScript文件加载成功的回调函数

      • 该回调函数的参数
      • data - 表示获取指定文件的内容

示例代码

<body>
<button id="btn">按钮</button>
<script src="chajian/jquery.js"></script>
<script>
    var $btn = $( '#btn' );
    $btn.click( function () {
        $.getJSON( 'JS.js',{name:'唐三'}, function( data ) {
            console.log( data );
        } );
    } );
</script>
</body>

异步提交表单

<body>
<form action="#">
    <input type="text" id="name">
    <input type="submit">
</form>
<script src="chajian/jquery.js"></script>
<script>
    var $form = $( 'form' );
    $form.bind( 'submit', function( event ) {
        // 通过事件属性来阻止表单提交的默认行为
        event.preventDefault();
        // 通过val()方法来获取表单组件的数据内容
        var name = $( '#name' ).val();
        // 构建发送给服务器端的数据格式
        var data = 'name=' + name;
        // 通过异步交互提交表单
        $.post( 'JSON.json', data, function( response ) {
            console.log( response );
        } );
    } );
</script>
</body>

表单序列化

  • 根据表单默认同步提交获取数据的方式

serialize()方法

  • 将数据内容序列化为指定格式的字符串内容

serializeArray()方法

  • 将数据内容序列化为JSON格式的数据内容

示例代码

<body>
<form action="#">
    <input type="text" name="username" id="name">
    <input type="text" name="password" id="pwd">
    <input type="submit">
</form>
<script src="chajian/jquery.js"></script>
<script>
    var $form = $( 'form' );
    $form.bind( 'submit', function( event ) {
        // 阻止默认行为
        event.preventDefault();
        /*
            根据表单默认同步提交获取数据的方式
             * serialize()方法
              * 将数据内容序列化为指定格式的字符串内容
             * serializeArray()方法
              * 将数据内容序列化为JSON格式的数据内容
         */

        // var data = $form.serialize();

        var data = $form.serializeArray();
        console.log(data);
        // 3.通过异步交互提交表单
        $.post( 'JSON.json', data, function( response ) {
            console.log( response );
        } );
    } );

</script>
</body>

蔡志远
9 声望5 粉丝

« 上一篇
Ajax 异步交互